<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //发送 AJAX 请求,返回结果是 Promise 对象
        function sendAJAX(url){
            return new Promise((resolve, reject) => {
                
          
            //1. 创建对象
            const x = new XMLHttpRequest()
            //2. 初始化
            x.open('GET', url)
            //3. 发送
            x.send()
            //4. 事件绑定
            x.onreadystatechange = function(){
                if(x.readyState === 4){
                    if(x.status >= 200 && x.status < 300){
                        //成功啦
                        resolve(x.response)
                    }else{
                        //如果失败
                        reject(x.status)
                    }
                }
            }
        })
        }

        //Promise then 测试
        // sendAJAX("https://api.apiopen.top/getJoke").then(value=>{
        //     console.log(value);
        // }, reason=>{})
        
        //async 与 await 测试
        async function main(){
            //发送AJAX请求
            let result = await sendAJAX("https://api.apiopen.top/getJoke")
            console.log(result);
        }
        main()
    </script>
</body>
</html>